Some spotty documentation for the RGS program Nov 28 1988
Introduction:
RGS is a sonic spectrum editor. It allows you to paint a sonogram using
specialized 'brushes' and then synthesize the corresponding audio
waveform. It is an "evolved" version of my older program DRW/DRWj. The
main added features in RGS are that there are now 256 levels of amplitude
to choose from and the ability to synthesize while you are drawing in
nearly real time, as well as increased user friendliness. How "real" the
time is depends on the number of samples per pixel you choose...more on
this later. Let's just say that it's like having a wall of 69120 sinewave
generators, each with their own amplitude knob(0-255). Note also that the
samples created by real-time synthesis are noisier than the results of
the "Synth" mode.
The version on this disk is a new version which is considerably more
friendly than all the previous ones. More friendliness is added daily.
Most of the improvements are :
the removal of the control comb after all these years...
the removal of the ill-concieved "flying window"
the reversion back to a low-res/non-interlaced screen.(speed reasons)
a set of (gasp) menus to replace the control comb functions..
cosmetic re-arrangement of the screen (still in progress)
ability to read old DRW, DRWJ and RGS screen formats.
Versions older than Sep 23 88 are "cloned" by me at home.(An ugly
interlaced version was cloned many moons ago by Phil Burk). The JForth
Cloner is a program which cuts all the unneeded JForth code out of a
turnkeyed module. It performs a few other optimizations as well. The
main difference is that instead of being 270K long, it is under 75K !
You can definitely use this version on a 512K machine!!!
The program presents you with a dark grey area where time is on the
x-axis, frequency (actually phase increment) is on the y-axis and color
represents the amplitude of the sinewave at that point in time and phase.
RGS takes this information and creates a digital sample which corresponds
to the spectrum on the screen. Sonograms may be loaded and stored, sound
files may be analyzed into sonograms and resulting sounds may be saved as
IFF 8SVX files. It allows you to play the sound (both channels) with the
mouse controlling frequency and stereo pan. There are two MIDI modes which
send chords derived from the sonogram to MIDI sound generators which,
when coupled with a properly constructed microtonal scale, may allow your
synth to talk or make other sampled noises (with very very low fidelity).
Caution:
There is no 'UNDO'. Because it is written in Delta Research's JForth,
certain operations are slower than they need to be (although I did my best
with Synth and BandPass Modes and real-time synth). Filename handling may
be unfriendly should you make a typo or two - I suggest you type NIL: if
you can't find the right file. There are several other annoying things
that I won't mention.
The Screen:
The RGS screen is a low-res, non-interlaced 4-plane screen, (capable of 16
colors). There is one window on the RGS screen, but occassionally I switch
back to Workbench's screen for data input. (this is being phased out..)
RGS has several Modes, which are described below. Which mode RGS is in
determines how the mouse movements and keystrokes etc. etc. are
interpreted. The current Mode is displayed in the Title bar of the RGS
screen.
At the top of the window is the Color Bar. In RGS amplitude is expressed
as a color. Since there are 256 amplitudes but only 12 colors, the color
bar groups several amplitudes into each color. You select which amplitude
you want to draw with by clicking on the color bar - the true amplitude
value is written on the end of the bar. The mapping between color and
amplitude can be changed with the Zone mode (see below), and the screen
is refreshed using the new mapping with the NewScreen mode. There are two
palettes I use for the Color bar: one has a radically different color for
each block of amplitudes (since this makes it easy to distinguish
transitions) and the other has a more-or less continuous shades-of-orange
palette, which is easier on the eye (but less accurate for "understanding"
the sound). You can swap from one to the other with the \ key (or the new
Palette menuitem in Process menu.)
The interesting part of the screen is the 128 by 270 pixel drawing area.
The y-axis corresponds to phase (percieved as frequency) and the x-axis
corresponds to time. The y-axis units are displayed as "samples per cycle"
on the top of the drawing area. The reason that I don't show Hz or some
other standard measurement is that the sample that RGS generates can be
played back at a great number of speeds, which makebuv"& *2(wt" &(^(8"( 0 8*"kut< ub"$ !bt* (6 't8"t*+t < t"0't( "!it"82=t8"t0("*t:**"+t0"^ < t(8"0t$ &8*!t* (6 'kt<8"t* (6 't8" the number of color clocks (an
internal timing unit) between output samples. The two numbers work
together like this, for example: To get a tone near 440Hz,